# 3.求出每个平台在北美的平均销售业绩，线形图

# 1.求出每个平台总的销售业绩，并绘制出线性图，并做简单的数据分析
import pandas as pd
import numpy as np
from matplotlib import pyplot as plt

# 设置绘图风格
plt.style.use("ggplot")
# 自定义风格选项
# custom_style = {
#     'figure.figsize': (8, 6),
#     'axes.grid': True,
#     'axes.labelsize': 12,
#     'axes.titlesize': 14,
#     'legend.fontsize': 12,
#     'xtick.labelsize': 10,
#     'ytick.labelsize': 10,
#     'axes.linewidth': 1.5,
#     'grid.linewidth': 0.5,
# }

# 设置自定义风格
# plt.style.use(custom_style)

# 设置中文编码和符号的正常显示
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['font.sans-serif'] = ['SimHei', 'Arial Unicode MS']
plt.rcParams["axes.unicode_minus"] = False

data = pd.read_csv('../bysj/data/电子游戏销量数据集.csv')
data.drop_duplicates(inplace=True)
Platform_data = data.groupby(by=['Platform'])['NA_Sales'].mean()
Platform_data.sort_values(inplace=True)

# 设置图框的大小
fig = plt.figure(figsize=(12, 8))
# 绘图
plt.plot(Platform_data.index,  # x轴数据
         Platform_data.values,  # y轴数据
         linestyle='-',  # 折线类型
         linewidth=2,  # 折线宽度
         color='steelblue',  # 折线颜色
         marker='o',  # 点的形状
         markersize=6,  # 点的大小
         markeredgecolor='black',  # 点的边框色
         markerfacecolor='brown')  # 点的填充色
# 添加标题和坐标轴标签
plt.title('求出每个平台在北美的平均销售业绩')
plt.xlabel('平台')
plt.ylabel('平均销售业绩')

# 剔除图框上边界和右边界的刻度
plt.tick_params(top='off', right='off')

# 为了避免x轴日期刻度标签的重叠，设置x轴刻度自动展现，并且45度倾斜
fig.autofmt_xdate(rotation=45,ha='center')

# 显示图形
# plt.show()
plt.savefig('./img/topic_3.jpg')
